package com.station.param.request.purchase;

import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class PurchaseReturnRequest {
    private String IsDeleteEntry;
    private String SubSystemId;
    private String IsVerifyBaseDataField;
    private String IsEntryBatchFill;
    private String ValidateFlag;
    private String NumberSearch;
    private String IsAutoAdjustField;
    private String InterationFlags;
    private String IgnoreInterationFlag;
    private String IsControlPrecision;
    private String ValidateRepeatJson;
    private Model[] Model;

    @Data
    public static class Model {
        private Double FID;
        private FNumberObj FBillTypeID;
        private String FBusinessType;
        private String FBillNo;
        private Date FDate;
        private String FMRTYPE;
        private String FMRMODE;
        private FNumberObj FStockOrgId;
        private FNumberObj FCorrespondOrgId;
        private Boolean FIsConvert;
        private FNumberObj FRequireOrgId;
        private FNumberObj FPurchaseOrgId;
        private FNumberObj FACCEPTORID;
        private FNumberObj FSettleId;
        private String FOwnerTypeIdHead;
        private FNumberObj FOwnerIdHead;
        private Double FCDateOffsetValue;
        private FNumberObj FSalOutStockOrgId;
        private String FACCTYPE;
        private FNumberObj FSupplierID;
        private FPURMRBFIN FPURMRBFIN;
        private FPURMRBENTRY[] FPURMRBENTRY;
    }

    @Data
    public static class FNumberObj {
        private String FNUMBER;
        public FNumberObj(String FNUMBER){
            this.FNUMBER = FNUMBER;
        }
    }

    @Data
    public static class FPURMRBFIN {
        private FNumberObj FSettleOrgId;
        private FNumberObj FSettleCurrId;
        private Boolean FIsIncludedTax;
        private String FPRICETIMEPOINT;
        private FNumberObj FLOCALCURRID;
        private FNumberObj FEXCHANGETYPEID;
        private Double FEXCHANGERATE;
        private Boolean FISPRICEEXCLUDETAX;
        private Double FHSExchangeRate;
    }

    @Data
    public static class FPURMRBENTRY {
        private String FRowType;
        private FNumberObj FMATERIALID;
        private String FMaterialDesc;
        private FNumberObj FUnitID;
        private Double FRMREALQTY;
        private Double FREPLENISHQTY;
        private Double FKEAPAMTQTY;
        private FNumberObj FPRICEUNITID;
        private FNumberObj FSTOCKID;
        private FNumberObj FStockStatusId;
        private Double FPrice;
        private Double FExtAuxUnitQty;
        private Boolean FIsReceiveUpdateStock;
        private Double FInvoicedJoinQty;
        private Boolean FGiveAway;
        private Double FPriceBaseQty;
        private FNumberObj FCarryUnitId;
        private Double FCarryQty;
        private Double FCarryBaseQty;
        private Double FPOORDERENTRYID;
        private Boolean FBILLINGCLOSE;
        private Double FRMMUSTQTY;
        private Double FAUXUNITQTY;
        private String FOWNERTYPEID;
        private FNumberObj FOWNERID;
        private Double FENTRYTAXRATE;
        private Double FDISCOUNTRATE;
        private Double FTAXPRICE;
        private Double FPriceDiscount;
        private Double FReturnStockEntryId;
        private Boolean FIsStock;
        private String FSRCBillTypeId;
        private String FSRCBillNo;
        private Double FSUBREQBILLSEQ;
        private Double FSUBREQENTRYID;
    }


}
